<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>管理员列表</title>
	<meta name="renderer" content="webkit">
	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<link href="{__STATIC__}/layuiAdmin/layui/css/layui.css" rel="stylesheet">
	<link href="{__STATIC__}/layuiAdmin/adminui/dist/css/admin.css" rel="stylesheet">
	<link href="{__STATIC__}/layuiAdmin/style/style.css" rel="stylesheet">
</head>
<body>
	<div class="layui-fluid">
		<div class="layui-card">
			<div class="layui-card-body">
				<div style="padding-bottom: 10px;">
					<button class="layui-btn layui-btn-normal btn-top" data-type="add">添加管理员</button>
					<button class="layui-btn layui-btn-info btn-top" data-type="batchDel">批量删除</button>
					<div class="layui-form search_ctr">
						<div class="layui-form-item">
							<div class="layui-inline">
								<div class="layui-input-inline">
									<input type="text" name="keys" placeholder="输入用户名查询" class="layui-input">
								</div>
								<button class="layui-btn layui-btn-normal" lay-submit lay-filter="LAY-search">查询</button>
							</div>
						</div>
					</div>
				</div>

				<table id="LAY-table" lay-filter="LAY-table"></table>
				<script type="text/html" id="working">
					{{#  if(d.is_work == 1){ }}
					<span class="layui-badge-dot layui-bg-blue"></span>正常
					{{#  } else { }}
					<span class="layui-badge-dot layui-bg-gray"></span>锁定
					{{#  } }}
				</script>
				<script type="text/html" id="tableBar">
					<a class="link-text" lay-event="edit">编辑</a>
					<div class="link-line"></div>
					<a class="link-text" lay-event="del">删除</a>
				</script>

			</div>
		</div>
	</div>
</body>
</html>
<script src="{__STATIC__}/layuiAdmin/layui/layui.js"></script>
<script>
	layui.config({
		base: '{__STATIC__}/layuiAdmin/' // 静态资源所在路径
	}).use(['index', 'layer', 'table', 'form'], function(){
		let $ = layui.$;
		let layer = layui.layer;
		let table = layui.table;
		let form = layui.form;

		//初始化列表
		table.render({
			elem: '#LAY-table'
			,url: "{:url('getList')}"
			,cols: [[
				{type: 'checkbox', fixed: 'left'}
				,{field: 'id', width: 80, title: 'ID', sort: true}
				,{field: 'uid', title: '用户名', minWidth: 150}
				,{field: 'role_id', width: 150, title: '角色'}
				,{field: 'last_login_ip', width: 180, title: '最后登录IP'}
				,{field: 'last_login_time', width: 180, title: '最后登录时间'}
				,{field: 'is_work', width: 120, title: '状态', templet: '#working', align:'center', sort: true}
				,{title: '操作', width: 106, align:'center', fixed: 'right', toolbar: '#tableBar'}
			]]
			,page: true
			,limit: 20
			,height: 'full-100'
			,text: {none: '暂无相关数据'}
		});

		//监听搜索
		form.on('submit(LAY-search)', function(data){
			let field = data.field;
			//执行重载
			table.reload('LAY-table', {
				url: "{:url('getList')}"
				,where: field
				,page: {
					curr: 1 //重新从第 1 页开始
				}
			});
		});

		//表格内操作按钮
		table.on('tool(LAY-table)', function(obj){
			let data = obj.data;
			if(obj.event === 'del'){
				layer.confirm('真的删除行么', function(index){
					$.ajax({
						type:"post",
						url:"{:url('delete')}",
						data: {
							m_id:data.id
						},
						dataType:"json",
						beforeSend: function () {
							layer.load(1);
						},
						success:function(res){
							layer.closeAll();
							if(res.code == 0){
								if(res.msg == 'success') {
									obj.del();
									layer.msg('删除成功');
								} else {
									layer.msg(res.msg);
								}
							}
							else {
								layer.msg(res.msg);
							}
						}
					});

				});
			} else if(obj.event === 'edit'){
				layer.open({
					type: 2
					,title: '编辑管理员'
					,content: "{:url('edit')}?id=" + data.id
					,maxmin: true
					,area: ['500px', '484px']
					,btn: ['确定', '取消']
					,yes: function(index, layero){
						let iframeWindow = window['layui-layer-iframe'+ index];
						let submitID = 'LAY-submit';
						let submit = layero.find('iframe').contents().find('#'+ submitID);

						//监听提交
						iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
							let field = data.field; //获取提交的字段
							let m_work = field.hasOwnProperty('m_work') ? field.m_work : 0;

							//提交 Ajax 成功后，静态更新表格中的数据
							$.ajax({
								type:"post",
								url:"{:url('save')}",
								data: {
									m_uid:field.m_uid,
									m_pwd:field.m_pwd,
									m_vpwd:field.m_vpwd,
									m_role:field.m_role,
									m_work:m_work,
									m_id:field.m_id
								},
								dataType:"json",
								beforeSend: function () {
									layer.load(1);
								},
								success:function(res){
									layer.close(layer.index);
									if(res.code == 0){
										layer.closeAll();
										table.reload('LAY-table',{where: {time:new Date()}}); //数据刷新
									}
									else {
										layer.msg(res.msg);
									}
								}
							});

						});

						submit.trigger('click');
					}
				});
			}
		});

		//头部操作按钮
		$('.btn-top').on('click', function(){
			let type = $(this).data('type');
			active[type] ? active[type].call(this) : '';
		});

		let active = {
			batchDel: function(){
				let checkStatus = table.checkStatus('LAY-table');
				let checkData = checkStatus.data //得到选中的数据
				let ids = "0";
				if(checkData.length === 0){
					return layer.msg('请选择数据');
				}
				$.each(checkData,function(key,value){
					ids = ids + "," + checkData[key]['id'];
				});
				layer.confirm('确定删除吗？', function(index) {
					$.ajax({
						type:"post",
						url:"{:url('delete')}",
						data: {
							m_id:ids
						},
						dataType:"json",
						beforeSend: function () {
							layer.load(1);
						},
						success:function(res){
							layer.closeAll();
							if(res.code == 0){
								let msg = res.msg == 'success' ? '删除成功' : res.msg;
								layer.msg(msg, {
									time: 2000
								}, function(){
									table.reload('LAY-table',{where: {time:new Date()}}); //数据刷新
								});
							}
							else {
								layer.msg(res.msg);
							}
						}
					});
				});
			}
			,add: function(){
				layer.open({
					type: 2
					,title: '添加管理员'
					,content: "{:url('create')}"
					,maxmin: true
					,area: ['500px', '410px']
					,btn: ['确定', '取消']
					,yes: function(index, layero){
						let iframeWindow = window['layui-layer-iframe'+ index];
						let submitID = 'LAY-submit';
						let submit = layero.find('iframe').contents().find('#'+ submitID);

						//监听提交
						iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
							let field = data.field; //获取提交的字段
							let m_work = field.hasOwnProperty('m_work') ? field.m_work : 0;

							//提交 Ajax 成功后，静态更新表格中的数据
							$.ajax({
								type:"post",
								url:"{:url('save')}",
								data: {
									m_uid:field.m_uid,
									m_pwd:field.m_pwd,
									m_role:field.m_role,
									m_work:m_work
								},
								dataType:"json",
								beforeSend: function () {
									layer.load(1);
								},
								success:function(res){
									layer.close(layer.index);
									if(res.code == 0){
										layer.closeAll();
										table.reload('LAY-table',{where: {time:new Date()}}); //数据刷新
									}
									else {
										layer.msg(res.msg);
									}
								}
							});
						});
						submit.trigger('click');
					}
				});
			}
		};

	});
</script>